Method for the acquisition of signals of a global navigation satellite system

ABSTRACT

A method of acquisition of a received signal received from a global navigation satellite system, includes: obtaining a snapshot of the received signal; correlating the snapshot with a locally-generated signal, wherein the correlating includes: trying a phase delay value indicative of a hypothesized phase delay of the locally-generated signal with respect to the snapshot; and obtaining a partition of the snapshot and the locally-generated signal into corresponding pluralities of blocks, and calculating partial correlation integrals for each block of the plurality of blocks. The corresponding pluralities of blocks each include a first block having a time duration related to the phase delay value.

CROSS REFERENCE TO RELATED APPLICATION

This application is a national phase application based onPCT/EP2007/058657, filed Aug. 21, 2007, the content of which isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to systems adapted to enabledetermining the position of objects in space, for example, but notlimitatively, the objects' location on the Earth's surface, particularlyto Global Navigation Satellite Systems (GNSSs) like the GlobalPositioning System (GPS). More specifically, the invention concerns amethod for the acquisition of signals used for determining an object'slocation.

2. Description of the Related Art

GNSSs, and, particularly, the GPS are systems based on signaltransmitters transported by a constellation of satellite vehiclesorbiting around the Earth, and designed to enable the determination ofthe position of objects on the Earth surface.

Consumer electronic devices exploiting the GPS for purposes of locationdetermination and aid to navigation are nowadays very common.

In general terms, in the GPS system a receiver (e.g., part of anavigation tool, a mobile phone, a Personal Digital Assistant-PDA-, apalmtop computer) acquires signals transmitted by transmitters on fouror more satellite vehicles, to derive a three-dimensional location ofthe object and a current time stamp.

The GPS receiver normally receives the signals transmitted by multiplesatellite transmitters, and performs an operation referred to as “signalacquisition”, which in general terms is a coarse synchronization processby which the receiver estimates from which transmitters, i.e. by whichsatellite vehicles the received signals have been transmitted. Theinformation obtained by performing the signal acquisition operation isthen exploited in a following signal tracking process, that enables thereceiver to track the acquired signal sources.

Each GPS transmitter on a satellite vehicle emits a radio carrier signalat microwave frequency, referred to as the “L1” frequency.

The carrier signal at the L1 frequency (1575.42 GHz), which is exploitedby commercial positioning and navigation equipment, is modulated by aCoarse Acquisition (C/A) code, a Precise (P) acquisition code, and bydata that make up a “navigation message”.

The C/A code is a Pseudo Random Noise (PRN) code comprised of 1023 bits(also referred to as “chips”) that is repeated every millisecond (i.e.,at a nominal repetition frequency of 1 KHz). All the satellitetransmitters transmit over the same radio carrier at the L1 frequency,according to a CDMA (Code Division Multiple Access) multiplexing schemewhich uses the C/A codes as spreading codes (Gold codes). Each satellitetransmitter is assigned a unique C/A code, different from the C/A codesassigned to the other transmitters. The C/A codes assigned to thetransmitters on the constellation of satellite vehicles are freelyavailable to the public.

The P code is repeated at a higher frequency, and thus allows a moreprecise determination of the receiver's location; however, the P code isencrypted, and not available to the public.

The data making up the navigation message form a 50 Hz digital signal,used to modulate the phase (phase modulation) of the radio carrier, andconsisting of data bits that encode a time stamp (the so-called“GPSToW”, or “GPS Time of the Week”, the GPS satellite vehicle's orbitparameters (including the so-called “almanac” and “ephemeris”), clockcorrections, and other parameters; all these data are useful for thereceiver to calculate and update its location on the Earth surface.

One approach to the signal acquisition process calls for the receiver togenerate a local signal, modulated by a local replica of the PRN codethat is broadcast by the transmitter on the satellite vehicle(s)potentially visible overhead the receiver, and determining a correlationbetween the received signal and the locally-generated signal. Thecorrelation is typically performed by calculating both the “In phase”(I) and the “Quadrature” (Q) correlation integrals.

The results of the correlation integrals are strongly affected by thedata bits of the navigation message that modulate the phase of thetransmitted radio carrier signal; these data bits are unknown at astandard standalone receiver. As a consequence, the results of the I andQ correlation integrals are not reliable when the integration time isextended beyond the duration (20 ms) of one data bit of the navigationmessage, due to the possible (unknown) phase inversions experienced bythe received signal.

A problem arises when the received signal is degraded, like for examplewhen the receiver is inside a building (indoor environment): in thesecases, to compensate for the signal degradation, the integration time,i.e., the duration of the received signal to be considered forperforming the signal acquisition (and for the signal tracking after thesignal has been acquired), should be extended to some seconds, i.e. wellbeyond the duration of one data bit; the correlation between thereceived signal and the locally-generated signal is thus calculated overa time interval that spans multiple navigation message data bits, and itis not possible to neglect the phase transitions (changes in sign) ofthe radio carrier signal.

In U.S. Pat. No. 6,933,886 a signal acquisition technique using data bitinformation is disclosed, wherein coherent correlation (the calculationof I and Q correlation integrals for sampled data that is associatedwith the received signal) may be performed by breaking the signal intosmall blocks of 1 ms length, and performing calculations on ablock-by-block basis. In particular, using data bit information, i.e.information about the data message being transmitted by the signalsource, the I and Q correlation integrals are calculated for each smallblock of data. Due to the fact that the time may be known onlyapproximately, the blocks may not be able to be classified withcertainty as to which one corresponds to which position within the 20milliseconds time span before potential sign changes or flips. Thus, forthose blocks of data for which a flip may occur, the I and Q correlationintegrals are calculated both with and without a change in sign. Inother words, for those blocks of data near the 20 milliseconds marks,the I and Q correlation integrals are calculated both with and without achange in sign.

SUMMARY OF THE INVENTION

The Applicant has observed that it would be desirable to keep thecomputation complexity inherent to the signal acquisition operation low,even in case the signal acquisition is to be performed in indoorenvironments. This is particularly important whenever the GNSS receiveris part of a portable device, which normally has a limited processingpower, and, being battery-powered, limited power consumptioncapabilities.

The Applicant has also observed that the technique proposed in U.S. Pat.No. 6,933,886 is rather complex, from the computational viewpoint.Indeed, repeating the calculation of the I and Q correlation integralsfor those 1 ms blocks near the 20 ms marks assuming both a sign changeand no sign changes increases the computational burden of the receiver.In a scenario where the GNSS receiver is not synchronous with the“GPSTime” (the time scale of the GPS satellite transmitters, implementedby atomic clocks at the GPS ground control center), the repeatedcalculation of the I and Q correlation integrals for both a sign changeand no sign changes needs to be performed for every block of the blockpartition.

The Applicant has found a way by which, thanks to a peculiar partitioninto blocks of the received and locally-generated signals, it ispossible to reliably acquire signals transmitted by transmitters of apositioning system even when the received signal(s) are feeble, like inindoor environments, by performing correlations with a locally-generatedsignal over relatively long time intervals, spanning multiple navigationmessage data bits, while keeping the computation complexity relativelylow.

In particular, the Applicant has found that by partitioning a snapshotof a received signal and of a signal generated locally at the receiverinto a plurality of blocks wherein the first block has a durationcorresponding to an hypothesized phase delay value between the snapshotand the locally-generated signal allows keeping the calculations to beperformed for determining a correlation between the two signalsrelatively simple.

According to an aspect of the present invention, a method of acquisitionof a received signal received from a Global Navigation Satellite Systemis provided, comprising:

-   -   obtaining a snapshot of the received signal;    -   correlating the snapshot with a locally-generated signal,

wherein said correlating includes:

selecting a phase delay value indicative of an hypothesized phase delayof the locally-generated signal with respect to the snapshot; and

obtaining a partition of the snapshot and the locally-generated signalinto corresponding pluralities of blocks, and

calculating partial correlation integrals for each block of saidplurality of blocks, characterized in that

said corresponding pluralities of blocks include each a first blockhaving a time duration related to the phase delay value.

The corresponding pluralities of blocks include each a plurality ofsecond blocks that may have a predetermined time duration.

The corresponding pluralities of blocks may include each a final blockhaving a time duration determined by a difference between the timeduration of one of the second blocks and the time duration of the firstblock.

Said correlating may comprise obtaining cumulated correlation integralsby summing up the partial correlation integrals calculated for eachblock of said corresponding plurality of blocks.

Said summing up may comprise adjusting a sign of the partial correlationintegrals based on at least one hypothesized time sequence of binarydata of a navigation message modulating in phase the received signal.

Said correlating may be performed individually for in-phase andin-quadrature components of the snapshot and the locally-generatedsignals.

Said correlating may include obtaining an indication of a correlationintegral between the locally-generated signal and the snapshot by addingup square absolute values of the cumulated correlation integrals for thein-phase and in-quadrature components.

The method may comprise repeating said summing up for at least twohypothesized time sequences of binary data of the navigation message.

The method may further comprise repeating said obtaining a partitioningof the snapshot and the locally-generated signal into a correspondingpluralities of blocks and calculating partial correlation integrals foreach block of said plurality of blocks for at least two phase delayvalues indicative of two hypothesized phase delay of thelocally-generated signal with respect to the snapshot.

Said correlating the snapshot with a locally-generated signal maycomprise correlating the snapshot with at least two locally-generatedsignals each one having a tentative frequency related to a nominalfrequency of the received signal corrected by a respective frequencycorrection factor, the time duration of the blocks of said pluralitiesbeing related to said tentative frequency.

Said frequency correction factor may be related to a Doppler shift valuehypothesizing a Doppler shift experienced by the nominal frequency dueto a relative motion between a transmitter of the received signal and areceiver of the received signal.

Said frequency correction factor may be related to a Doppler shift valuehypothesizing a Doppler shift experienced by the nominal frequency dueto an acceleration of a receiver of the received signal compared to atransmitter of the received signal.

The method may further comprise identifying a maximum betweenindications of correlation integrals calculated for the at least twohypothesized time sequences of binary data, the at least twohypothesized phase delay values and the at least two tentativefrequencies.

The method may also comprise deriving, from the hypothesized timesequences of binary data of the navigation message that provides saidmaximum, information about the GPSTime of the satellite transmitter. Atime of reception of the signal may also be estimated based on theestimated GPSTime of the transmitter, corrected taking into account asignal propagation delay from the satellite transmitter to the receiver.

Said at least two phase delay values, and/or said tentative frequenciesrelated to a nominal frequency of the received signal corrected by arespective frequency correction factor, and/or said at least twohypothesized time sequences of binary data are selected withinrespective predetermined ranges of values. The method may furthercomprise exploiting assistance data received by a terrestrial radiocommunication network for determining said respective predeterminedranges of values.

According to another aspect of the present invention, a globalnavigation satellite system receiver is provided, comprising functionalmodules configured to:

-   -   obtaining a snapshot of the received signal;    -   correlating the snapshot with a locally-generated signal,

wherein said correlating includes:

trying at least one phase delay value indicative of an hypothesizedphase delay of the locally-generated signal with respect to thesnapshot; and

obtaining a partition of the snapshot and the locally-generated signalinto corresponding pluralities of blocks including each a first blockhaving a time duration related to the phase delay value, and

calculating partial correlation integrals for each block of saidplurality of blocks.

The corresponding pluralities of blocks may include each a plurality ofsecond blocks having a predetermined time duration.

In particular, the corresponding pluralities of blocks may include eacha final block having a time duration determined by a difference betweenthe time duration of one of the second blocks and the time duration ofthe first block.

Said functional modules configured for correlating may comprisefunctional modules configured for obtaining cumulated correlationintegrals by summing up the partial correlation integrals calculated foreach block of said corresponding plurality of blocks.

Said functional modules configured for summing up may comprisefunctional modules configured for adjusting a sign of the partialcorrelation integrals based on at least one hypothesized time sequenceof binary data of a navigation message modulating in phase the receivedsignal.

Said functional modules configured for correlating may be configured forperforming said correlating individually for in-phase and in-Quadraturecomponents of the snapshot and the locally-generated signals.

Said functional modules configured for correlating may includefunctional modules configured for obtaining an indication of acorrelation integral between the locally-generated signal and thesnapshot by adding up square absolute values of the cumulatedcorrelation integrals for the In-phase and in-Quadrature components.

Said functional modules may be configured for repeating said summing upfor at least two hypothesized time sequences of binary data of thenavigation message.

Said functional modules may be configured for repeating said obtaining apartitioning of the snapshot and the locally-generated signal intocorresponding pluralities of blocks and calculating partial correlationintegrals for each block of said plurality of blocks for at least twophase delay values indicative of two hypothesized phase delays of thelocally-generated signal with respect to the snapshot.

Said functional modules configured for correlating the snapshot with alocally-generated signal may comprise functional modules configured forcorrelating the snapshot with at least two locally-generated signalseach one having a tentative frequency related to a nominal frequency ofthe received signal corrected by a respective frequency correctionfactor, the time duration of the blocks of said pluralities beingrelated to said tentative frequency.

Said frequency correction factor may be related to a Doppler shift valuehypothesizing a Doppler shift experienced by the nominal frequency dueto a relative motion between a transmitter of the received signal and areceiver of the received signal.

Said frequency correction factor may in particular be related to aDoppler shift value hypothesizing a Doppler shift experienced by thenominal frequency due to an acceleration of a receiver of the receivedsignal compared to a transmitter of the received signal.

The global navigation satellite system receiver may further comprisefunctional modules configured for identifying a maximum betweenindications of correlation integrals calculated for the at least twohypothesized time sequences of binary data, the at least twohypothesized phase delay values and the at least two tentativefrequencies.

The global navigation satellite system receiver may further comprisefunctional modules configured for deriving, from the hypothesized timesequences of binary data of the navigation message that provides saidmaximum, information about the GPSTime of the satellite transmitter.

The global navigation satellite system receiver may further comprisefunctional modules configured for estimating a time of reception of thesignal based on the estimated GPSTime of the transmitter, correctedtaking into account a signal propagation delay from the satellitetransmitter to the receiver.

Said at least two phase delay values, and/or said tentative frequenciesrelated to a nominal frequency of the received signal corrected by arespective frequency correction factor, and/or said at least twohypothesized time sequences of binary data may be selected withinrespective predetermined ranges of values.

The global navigation satellite system receiver may comprise functionalmodules configured for exploiting assistance data received by aterrestrial radio communication network for determining said respectivepredetermined ranges of values.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically shows, partly in terms of functional blocks, anoverview of a GPS system in which an embodiment of the present inventioncan be advantageously exploited;

FIGS. 2A, 2B and 2C schematically show the effect of a navigationmessage modulating a generic C/A code used to modulate (spread) a commonradio-frequency carrier signal;

FIG. 3 schematically shows, in terms of functional blocks, anacquisition stage of a GPS receiver of the system of FIG. 1, accordingto an embodiment of the present invention;

FIGS. 4A and 4B schematically show two exemplary partitions into blocksof a locally-generated signal used by the receiver for performing thesignal acquisition;

FIGS. 5A, 5B and 5C schematically shows a received signal snapshot, andtwo exemplary partitions into blocks thereof, according to an embodimentof the present invention;

FIGS. 6A, 6B and 6C schematically show the effect on calculatedcorrelations of phase modulation due to a navigation message;

FIGS. 7A to 7D schematically show different possible alignments of asequence of navigation message data bits with the received signalsnapshot;

FIG. 8 is a schematic flowchart illustrating a method according to anembodiment of the present invention;

FIG. 9 pictorially shows an exemplary configuration off GPS satellitesin view at a reference location, adopted by the Applicant for performingcomparative tests on prior-art GPS signal acquisition methods and asignal acquisition method according to an embodiment of the presentinvention; and

FIGS. 10A and 10B, 11A and 11B, 12, 13 and 14A and 14B show results ofthe comparative tests.

DETAILED DESCRIPTION OF AN EMBODIMENT OF THE INVENTION

In the following description, reference will be frequently made to theterms that are defined herebelow:

GPSTime: the time scale of the GPS satellite transmitters; it isimplemented by atomic clocks at the GPS ground control center;

Codephase: a time delay value corresponding to a phase differencebetween the C/A code used to modulate the received signal and the C/Acode used to modulate the receiver locally-generated signal for signalacquisition purposes;

Doppler bin: one of a set of discrete values of Doppler shifts used tocorrect the frequency of the locally-generated signal to match theDoppler shift experienced by the received signal in traveling from thesatellite transmitter to the receiver;

Chip: one of the 1023 bits of the C/A spreading code used to modulatethe transmitted signal.

Referring to the drawings, FIG. 1 schematically shows an overview of aGPS system in which an embodiment of the present invention can beadvantageously exploited.

Reference numeral 105 denotes a signal source, e.g. a transmittertransported by one of the satellite vehicles of the constellation ofsatellite vehicles of the GPS. The signal source 105 is configured totransmit microwave radio carrier signals, particularly radio signals atthe L1 frequency, modulated (spread) by a unique C/A code uniquelyassigned thereto, by data bits making up a navigation message, and,possibly, by a P code.

Reference numeral 110 denotes a signal receiver, like a GPS receiver ofa navigation tool, a mobile phone, a PDA, a palmtop, a PC with embeddeda GPS receiver or having a peripheral device including a GPS receiver.The receiver 110 is configured to receive the signals transmitted by thesignal source 105.

A terrestrial base station 115 of a terrestrial radio communicationnetwork 120, like for example a GSM (General System for Mobilecommunications) or a UMTS (Universal Mobile Telecommunications System)network, enables radio communication between the receiver 110 and aserver 125, configured to provide assistance to the receiver 110 in theprocess of acquisition of the GPS signal; this scheme refers to aso-called “Assisted GPS”-A-GPS-architecture. However, as it will be madeclear in the following, the present invention is not limited to theapplication in A-GPS architectures.

The generic satellite transmitter modulates the radio carrier at the L1frequency using the C/A code uniquely assigned thereto; in particular,the C/A code is used to spread the signal bandwidth. The generic C/Acode is a unique sequence of 1023 bits nominally (i.e., neglectingDoppler effects) 1 ms long, and thus having a nominal repetitionfrequency of 1 KHz. The signal thus obtained by modulating the L1frequency radio carrier by the C/A code is further modulated in phase bythe signal carrying the navigation message, which is a digital signal at50 Hz nominal frequency; every bit of the navigation message nominallylasts 20 ms, thus every 20 ms the signal transmitted by the satellitetransmitter potentially experiences a phase reversal or sign change orflip, depending on the value of the current and previous data bits inthe data bits stream.

Referring to FIG. 2A, the graphic symbol identified by reference numeral205 will be used through this description to graphically identify aunique, elementary sequence of 1023 bits making up a C/A code assignedto a particular satellite transmitter of the GPS constellation. Theelementary sequence 205 is repeated every millisecond (nominally), witha repetition frequency of 1 KHz, as depicted in FIG. 2B; 20 repetitionsof the elementary sequence 205 correspond to a time interval of 20 ms,which is the nominal bit time, i.e. the nominal duration of one data bitin the navigation message data bits stream. FIG. 2C schematically showsa snapshot of the length of 80 ms (corresponding to 4 consecutive databits in the data bits stream that makes up the navigation message) ofthe modulation signal used by the generic satellite transmitter tomodulate in phase the radio carrier at the L1 frequency (alreadymodulated by the respective C/A code), corresponding to an exemplarysequence “+1, −1, −1, +1” of data bits in the navigation message 210;“+1” denotes a logic high level, whereas “−1” denotes a logic low level(the opposite convention may indeed be adopted). It can be appreciatedthat a change from a +1 data bit to a −1 data bit corresponds to achange in sign or flip or phase reversal of the signal (in the figure,the phase reversal is depicted as a reversal in the sign of theelementary sequences 205).

The radio-frequency GPS signal s_(RF) ^((i))(t) received by the receiver110 from the generic, i-th satellite transmitter 105 may be describedmathematically as:s _(RF) ^((i))(t)=√{square root over (2P _(c))}d ^((i))(t−τ)c^((i))(t−τ)cos [2π(f _(L1) +f _(D) ^((i)))(t−τ)+θ^((i))]where:

-   P_(c) is the received signal power;-   d^((i))(t) is the 50 Hz navigation message transmitted by the i-th    satellite transmitter, whose value at the generic time can be +1 or    −1, depending on the data bit;-   c^((i))(t) is the C/A PRN spreading code uniquely assigned to the    i-th satellite transmitter;-   f_(L1) is the L1 carrier frequency (1575.42 GHz);-   f_(D) is a frequency shift due to Doppler effect, caused by the    satellite-receiver relative motion; it varies in time in a way that    can be described as    f _(D) =f _(D base) +r _(D) ·t    -   where:    -   f_(D,base) is the shift in frequency experienced by the        transmitted signal due to the relative motion between the        satellite transmitter and the receiver, and    -   r_(D) is the so-called “Doppler rate”, a parameter describing        the drift in the radio carrier frequency caused by Doppler        effect due to relative acceleration/deceleration between the        satellite and the receiver;-   τ is a signal propagation time from the satellite transmitter to the    receiver;-   θ^((i)) is the phase offset between the local oscillators (and thus    of the local clocks) of the satellite transmitter and of the    receiver.

The signal received from the satellites is sampled for the successivesignal processing; this involves lowering the carrier signal frequencyto an intermediate frequency; the signal at the intermediate frequencyis then sampled. In the practice, the received signal is often thecomposition of the signals transmitted by multiple transmitters, i.e. ofmultiple CDMA channels, which are multiplexed, using different C/Acodes, over a single radio carrier at the L1 frequency; each CDMAchannel is modulated in phase by the data bits making up the respectivenavigation message, peculiar of that satellite transmitter.

The sampled signal, also referred to as the “snapshot” of the receivedsignal, is then correlated with a locally-generated signal, generatedlocally at the receiver using the nominal clock;

the locally-generated signal is a radio carrier at the intermediatefrequency variously modulated, delayed and shifted in frequency tocompensate frequency shifts due to the Doppler effect. The correlationis performed trying different C/A codes in the attempt to find the C/Acode(s) that matches the C/A code(s) of the particular satellitetransmitter(s) that might be overhead the receiver.

In greater detail, the receiver calculates separately the I and Qcorrelation integrals between the sampled signal and thelocally-generated signal. By calculating separately and then combiningthe I and Q correlation integrals, the uncertainty about the phase ofthe received signal due to the phase offset θ^((i)) between theoscillators of the satellite transmitter and the receiver can bereduced.

The I and Q correlation integrals are calculated trying a plurality ofdifferent hypothesized values of time delay between the received signaland the locally-generated signal and Doppler shifts in the modulation ofthe locally-generated radio carrier. The hypothesized Doppler shift isrequired to take into account the shift in frequency experienced by thetransmitted signal due to the relative motion between the satellitetransmitter and the receiver. The hypothesized time delay value takesinto account the misalignment between the C/A code of the receivedsignal and the one used to modulate the locally-generated signal, due tosatellite transmitter-receiver signal propagation time; in other words,an hypothesized time delay value corresponds to a phase differencebetween the C/A code of the received signal and the C/A code used tomodulate the locally-generated signal, thus it is also referred to as a“codephase”.

A range of expected Doppler shift values (which, for a typical GPSreceiver, ranges from ±5, in case the receiver is steady, to ±10 KHz, incase the receiver is moving) is divided into a discrete number of“Doppler bins”, of width related to the integration time used tocalculate the correlation between the received signal and thelocally-generated signal; attempting different Doppler bins meansattempting to correct the frequency of the locally-generated radiocarrier by using different hypothesized Doppler shift values f_(D,base),each one corresponding to the Doppler bin selected from time to time.For each Doppler bin, different possible values of codephase between thesampled signal and the locally-generated signal are tried.

When the Doppler shift and the time delay (codephase) applied to thelocally-generated signal match those of the received signal snapshot, apeak in the result of the correlation integrals is detected. Peaks ofdifferent value correspond to different C/A codes attempted by thereceiver; the highest peak or higher peaks correspond to the correct C/Acode or codes, matching that or those of the satellite transmitterswhich are at that time overhead the receiver.

As mentioned in the introduction of the present description, when thereceived signal is degraded, like for example when the receiver isinside a building, the integration time, i.e., the duration of thereceived signal to be considered for the signal acquisition should beextended, to compensate for the signal degradation; snapshots of thelength of some seconds may have to be considered, i.e. well beyond theduration of one navigation message data bit (20 ms); the correlationintegral to be calculated thus spans multiple data bits in the streammaking up the navigation message, and the phase reversals (sign flips)in the received signal due to the peculiar sequence of data bits in thetransmitted navigation message should be taken into account to properlycalculate the signal correlation.

Exploiting the A-GPS architecture, the (at least partial) knowledge ofthe sequence of data bits making up the navigation message is providedto the receiver by the server 125 as part of assistance data after thereceiver 105 takes the snapshot of the received signal; the assistancedata include the GPS satellite vehicle's orbit parameters (the almanacand the ephemeris), an indication of the delay of the satellitetransmitter clock, clock corrections, and other parameters.

However, in order to fully exploit the information about the navigationmessage provided thereto by the assistance data, the receiver shouldalso have time synchronization information (the GPSTime, which is thetime scale implemented by atomic clocks at the GPS ground controlcenter) useful for synchronizing the local clock with the satellitetransmitter clock; such synchronization information should have aprecision of the order of 1 ms or less, like for example 100 μs (thenominal length of the elementary C/A code sequence 205); a sufficientlyprecise synchronization information in combination with the knowledge ofthe navigation message allows simplifying the search process carried outby the receiver in the acquisition stage. Indeed, a misalignment betweenthe sampled signal and the locally-generated signal of 1 ms or more maycause a lowering of the calculated correlation integral.

The server 125 also provides to the receiver 110, as part of theassistance data, a time indication, which takes into account anestimation of the receiver location made by the terrestrial radiocommunication network 120); however, the time indication provided by theserver 125 to the receiver 110 is not sufficiently precise: due to thefact that the terrestrial radio communication network 120 may be notsynchronous to the GPS transmitters, the precision by which the receivermay know the GPSTime is, in practical applications, of 2-3 s, thus farless precise than what requested. A further contribution to theimprecision of the time indication made available to the receiver by theserver could also be originated by the uncertainty about the exactlocation of the receiver; however, the imprecision on the timeindication due to the uncertainty of the receiver exact location (whichmay be of the order of a few kilometers) may amount to about 5 μs, andthus it is negligible compared to the imprecision due to the fact thatthe network is not synchronous to the GPS transmitters

Thus, in the signal acquisition operation the receiver should calculatethe correlation integrals for several different hypothesized delaysexperienced by the transmitted signal, at steps of ½ or ¼ chip; thesampled signal should be correlated with the locally-generated signalchanging the alignment of the two signals over the range of uncertaintyof the GPSTime received as part of the assistance data, taking intoaccount the phase delay and the navigation message.

According to an embodiment of the present invention, for the acquisitionof the signal transmitted by the satellite transmitters, the receiver110 calculates the correlation integrals by subdividing the snapshot andthe locally-generated signal into several blocks. For each C/A code tobe tried, the receiver calculates correlation integrals in respect ofseveral different possible partitions into blocks of the snapshot and ofthe locally-generated signal. The generic partition into blocks of thetwo signals is characterized by comprising a first block of durationequal to a respective fraction of the duration of the C/A codeelementary sequence 205, a plurality of subsequent blocks, each one ofduration equal to the duration of the C/A code elementary sequence 205,and a last block representing the interval between the begin of a C/Acode elementary sequence 205 and the sample of the locally-generatedsignal that allows having a number of samples of the locally-generatedsignal equal to the number of samples making up the sampled signal. Inother words, the first block of the generic block partition has aduration that corresponds to a portion of the elementary C/A codesequence 205, starting from an intermediate point corresponding to acertain hypothesized delay and ending at the end of the elementary C/Acode sequence; the first block thus has a duration that corresponds to aparticular hypothesized time delay, i.e. to a particular hypothesizedcodephase.

Partial I and Q correlation integrals are calculated for each block ofthe snapshot and of the locally-generated signal; the partial I and Qare then summed up to obtain I and Q correlation integrals, whichprovide an approximation of the correlation between the I and Qcomponents of the two signals. In calculating the partial correlationintegrals, no account is taken of the possible phase reversals withinthe blocks due to the navigation message. The navigation message istaken into account at a later stage, when the plurality of calculatedpartial correlation integrals (one for each block of the partition) aresummed up to obtain the I and Q correlation integrals. The absolutevalue of the I and Q correlation integrals thus calculated are thensquared, and added to each other: an overall correlation integral isthus obtained. The highest peak in the different overall correlationintegrals thus obtained in respect of different partitions into blocks(i.e., different codephases), different Doppler bins (i.e., differentfrequency shifts), and different alignments to the locally-generatedsignal of the navigation message data bits stream received with theassistance data identifies the proper phase delay, Doppler shift andalignment with the navigation message.

FIG. 3 schematically shows, in terms of functional blocks, theacquisition stage of the receiver 110, adapted to perform theacquisition of the GPS signal, according to an embodiment of the presentinvention.

The received signal (received by a receiving section of the GPS receiver110, not shown in the drawings because per-se known) is fed to asnapshot acquisition block 305, which obtains a snapshot of prescribedlength of the received signal; in particular, the snapshot acquisitionblock 305 samples the received signal at a pre-selected samplingfrequency, and takes a succession of samples.

The snapshot is partitioned into a plurality of blocks by a block 310.The partition into blocks is made according to a selected codephase anda selected Doppler shift (corresponding to a selected Doppler bin); theDoppler shifts affects the block partition because it causes theduration of the elementary sequence 205 to depart from the nominalduration of 1 ms.

A locally-generated signal to be correlated to the received signalsnapshot is generated locally at the receiver, by a local signalgeneration block 315. The locally-generated signal includes a carriersignal at the L1 frequency, corrected by the selected Doppler shift(corresponding to the selected Doppler bin) is modulated by a selectedC/A code. The locally-generated signal is partitioned into blocks,similarly to the snapshot, according to the selected codephase and theselected Doppler shift.

I and Q partial correlation integrals are then calculated in respect ofthe different, corresponding blocks of the snapshot and of the localsignal. The I and Q partial correlation integrals may be calculated inparallel by a plurality of I and Q correlator blocks 320; alternatively,the I and Q partial correlation integrals may be calculated insuccession.

In order to sum up the I and Q partial correlation integrals calculatedfor the considered block partition to obtain cumulated I and Qcorrelation integrals, the signs of the partial correlation integralsare adjusted taking into account the (portion of the) navigation message(in the time span that correspond to the snapshot length). Due to theuncertainty of the local clock compared to the GPSTime, several attemptsof sign corrections are made, each attempt corresponding to anhypothesized positioning in time of the navigation message with respectto the snapshot. In block 325, for each hypothesized time positioning ofthe navigation message with respect to the snapshot, different cumulatedI and Q correlation integrals are thus obtained. Block 325 alsocalculates the squared absolute value of the cumulated I and Qcorrelation integrals, and adds up the squared absolute valuescorresponding to an hypothesized time positioning of the navigationmessage with respect to the snapshot to obtain an overall correlationintegral.

A decision block 330 determines the overall correlation integral havingthe highest value among the overall correlation integrals calculated forthe different Doppler shifts, codephases and alignments of thenavigation message data bits sequence. These operations are repeated fordifferent C/A codes. A satellite signal is considered acquired when thehighest value among the overall correlation integrals calculated for thedifferent Doppler shifts, codephases and alignments of the navigationmessage data bits sequence exceeds a predetermined threshold for atleast two different snapshots, and/or when the correlation peak issufficiently higher than the noise.

A method according to an embodiment of the present invention will behereinafter described in greater detail.

The receiver 110 builds the locally-generated signal by modulating thelocally-generated radio carrier at the L1 frequency (corrected, as willbe described later, by the hypothesized Doppler shift) with different(possibly all the) C/A codes assigned to the different satellitetransmitters; at this stage, the navigation message that is actuallysuperimposed on the signals transmitted by the satellite transmitters isneglected (this means that, according to an embodiment of the presentinvention, in the generation of the local signal it is assumed that allthe data bits of the navigation message are equal to +1, or,equivalently, all equal to −1, i.e. that no phase reversals occur).

For the generic C/A code, the locally-generated signal is treated as asuccession of a discrete and finite number of blocks; the first blockhas a duration which is a fraction of the duration of the elementary C/Acode sequence 205 (nominally, 1 ms, neglecting the Doppler shift effect,that, as will be described later, dilates the chip time, i.e. theduration of the single bit in the elementary sequence 205, and thus theduration of the elementary sequence 205 as a whole); all the successiveblocks except the last one have each a duration equal to that of theelementary C/A code sequence 205, whereas the last block has a durationequal to the interval between the begin of a C/A code elementarysequence 205 and the sample of the locally-generated signal that allowshaving a number of samples of the locally-generated signal equal to thenumber of samples making up the sampled signal. A similar partition intoblocks is applied to the sampled signal (i.e., to the snapshot), and thereceiver calculates the correlation between the locally-generated signaland the sampled signal by calculating individual, partial correlationintegrals of the two signals on every one of the blocks of the snapshotand of the local signal, and then summing the individual correlationintegrals. This process is repeated changing the duration of the firstblock of the block partition, which amounts to changing the subdivisioninto blocks of the two signals, so as to estimate the correct phase(i.e., the actual delay) of the received signal.

Referring to FIGS. 4A and 4, there are schematically shown two exemplarypartitions into blocks of the locally-generated signal 405: in the twoblock partitions, the first block has a different duration, equal todifferent fractions of the duration of the C/A code elementary sequencethat correspond to that fractions of the C/A code elementary sequencecomprised between the hypothesized phase delays, in respect of which thecorrelation is to be calculated, and the end of the C/A code elementarysequence; the successive blocks in the partition have each a durationequal to the duration of the C/A code elementary sequence 205, and thelast block has an extended duration determined as discussed above.

For each C/A code, the receiver tries various carrier frequencies, whichcorrespond to the nominal L1 frequency corrected by frequency shiftscorresponding to different Doppler bins. In particular, depending on theselected Doppler bin, the repetition period P of the C/A code (and thusthe chip rate) changes compared to the nominal value (1 ms), accordingto the formula:P=0.001*(1−f _(D)/1575420000)where f_(D) is the carrier frequency correction value corresponding tothe selected Doppler bin.

In other words, given a C/A code, for each hypothesized Doppler shiftcorrection (i.e., for each selected Doppler bin), denoted in theformulas by the apex d, and for each hypothesized codephase (i.e., foreach possible partition into blocks of the snapshot and of the localsignal), a local signal l^(d) is built by concatenating a number M ofblocks M₁ ^(r,d) M₂ ^(r,d) . . . M_(M−1) ^(r,d) M_(M) ^(r,d) (where theapex r identifies the particular hypothesized codephase) of durationT_(i) ^(d) (with i=1, . . . , M). The block M₁ ^(r,d) (the first blockin the partition) represents the fraction of the C/A code elementarysequence 205 comprised between the hypothesized phase delay for whichthe correlation with the sampled signal is to be estimated, and the endof the C/A code elementary sequence 205. Each of the blocks M₂ ^(r,d) toM_(M−1) ^(r,d), i.e. each of the intermediate blocks in the blockpartition, has a duration that corresponds to one C/A code elementarysequence. The block M_(M) ^(r,d), i.e. the last block in the partition,represents the interval between the begin of a C/A code elementarysequence 205 and the sample of the locally-generated signal that allowshaving a number of samples of the locally-generated signal equal to thenumber of samples making up the sampled signal.

For each block M₁ ^(r,d) M₂ ^(r,d) . . . M_(M−1) ^(r,d) M_(M) ^(r,d),the chip rate value is the nominal chip rate (1 ms) corrected by thefrequency corresponding to the selected Doppler bin, so as to take intoaccount the Doppler shift. Thus, the duration T_(i) ^(d) of the genericblock is in general not equal to the nominal one, being instead givenby:T _(i) ^(d)=0.001·(1−(f _(bin) +r _(d)·(i−1+frc)·0.001)/1575420000)where f_(bin) denotes the value of the selected Doppler bin, frc is thefraction of one period expressing the duration of the first block, and iis an index identifying the generic block in the partition.

The number of samples in each block depends on the duration of thatblock, and is given by:NSamp_(i) ^(d) =T _(i) ^(d) ·f _(s)where f_(s) is the sampling frequency.

This spreading C/A code is used to modulate a radio carrier whosefrequency is given by the Doppler bin selected from time to time forcalculating the correlation with the sampled signal (the snapshot).

To this purpose, the snapshot is partitioned into a same number ofblocks as the locally-generated signal, selecting, for each block, asame number of samples as those included in the corresponding block ofthe locally-generated signal. Different durations of the first block ofthe partition are considered, as in the case of the locally-generatedsignal.

FIG. 5A schematically shows a portion of an exemplary snapshot,corresponding to 80 ms of the received signal, assuming by way ofexample that the navigation message, in the considered signal portion,is “+1, −1, −1, +1”. FIGS. 5B and 5C depict two exemplary differentpartitions into blocks of the signal portion of FIG. 5A; in particular,FIG. 5B corresponds to a block partition with a first block durationcorresponding to an hypothesized phase delay that matches the actualphase delay of the received signal, whereas FIG. 5C corresponds to ablock partition with a first block duration corresponding to anhypothesized phase delay that does not match the actual phase delay ofthe received signal.

The correlation between the locally-generated signal and the snapshot iscalculated, and, for each hypothesized Doppler shift (i.e., for eachDoppler bin attempted), and for each hypothesized phase delay (i.e.,first block duration), a number M+1 of correlation integrals is obtained(where M+1 is the number of blocks in the partition); since the signalsare sampled, the correlations integrals actually are correlationsummations, each one performed on a number NSamp_(i) ^(d) of samples ofthe locally-generated signal and a number NSamp_(i) ^(d) ofcorresponding samples of the snapshot.

In particular, the first correlation summation is performed between thesamples of the locally-generated signal belonging to the fraction of C/Acode elementary sequence from the considered phase delay and the end ofthe C/A code elementary sequence, and a same number of first samples ofthe snapshot:

${Int}_{0}^{r,d} = {\sum\limits_{k = 1}^{{NSamp}_{0}^{d}}{s_{k} \cdot l_{r + k}^{d} \cdot {{\mathbb{e}}^{{j2\pi}{({{{({F_{if} + f_{d}})} \cdot \frac{k}{fs}} + {\frac{1}{2}{r_{d} \cdot {(\frac{k}{fs})}^{2}}}})}}.}}}$

Each of the successive M−2 correlation summations is performed betweenthe samples of the generic intermediate block (of duration equal to thatof the C/A code elementary sequence 205) of the locally-generated signaland the corresponding samples of the snapshot:

${Int}_{1}^{r,d} = {\sum\limits_{k = 1}^{{NSamp}_{1}^{d}}{s_{k + {NSamp}_{0}^{d}} \cdot l_{r + k + {NSamp}_{0}^{d}}^{d} \cdot {\mathbb{e}}^{{j2\pi}({{{({F_{if} + f_{d}})} \cdot \frac{k + {NSamp}_{0}^{d}}{fs}} + {\frac{1}{2}{r_{d} \cdot {(\frac{k + {NSamp}_{0}^{d}}{fs})}^{2}}}})}}}$

The last correlation summation is performed between the samples of finalfraction of C/A code elementary sequence in the last block of thepartition of the locally-generated signal and the corresponding finalsamples of the snapshot:

${Int}_{M}^{r,d} = {\sum\limits_{k = 1}^{{NSamp}_{M}^{d}}{s_{k + {\sum\limits_{i = 0}^{M - 1}{NSamp}_{i}^{d}}} \cdot l_{r + k + {\sum\limits_{i = 0}^{M - 1}{NSamp}_{i}^{d}}}^{d} \cdot {\mathbb{e}}^{{{j2\pi}({{{({F_{if} + f_{d}})} \cdot \frac{k + {\sum\limits_{i = 0}^{M - 1}{NSamp}_{i}^{d}}}{fs}} + {\frac{1}{2}{r_{d} \cdot {(\frac{k + {\sum\limits_{i = 0}^{M - 1}{NSamp}_{i}^{d}}}{fs})}^{2}}}})}.}}}$

In the above formulas, l_(r+k) ^(d) represents the k-th sample of thelocally-generated signal l^(d) corresponding to a selected Doppler bin dand that begins with a C/A code delay r; s_(k) are the samples of thesnapshot; f_(d) is the frequency corresponding to the selected Dopplerbin; r_(d) is the Doppler rate; f_(s) is the sampling frequency, F_(if)is the intermediate frequency at which the received signal at the L1frequency has been lowered prior to sampling it.

The results of the correlation summations are complex numbers thatinclude both the I (real part) and the Q (imaginary part) signalcomponents.

A choice of the initial block duration resulting in a partition of thesnapshot into a succession of blocks equal to one C/A code elementarysequence, or to a fraction thereof, in the case of the first block,which is not offset by a delay compared to the locally-generated signal,like in the example of FIG. 5B, will, when the partial correlationintegrals are properly summed up, provide a correlation peak; for ablock partition that is not synchronous with the leading fronts of theC/A code elementary sequences, like in the example of FIG. 5C, the peakwill not be present, and noise will be obtained.

Up to now, the phase modulation of the received signals by thenavigation message has not been taken into consideration. However, thepossible phase reversal experienced by the received signal when thenavigation message data bit changes from +1 to −1 or vice versa affectsthe result of the correlation summations calculated on the blocks of theconsidered block partition, as depicted schematically in FIGS. 6A and6B.

In order to coherently add up the M+1 correlation integrals calculatedfor the M+1 blocks of the generic block partition and Doppler bin, thepossible phase inversions experienced by the snapshot as a consequenceof the changing values of the data bits making up the navigation messageneed to be taken into account.

As mentioned in the foregoing, under the assumption of operating in anA-GPS architecture, the receiver 110 receives from the server 125, aspart of the assistance data, the sequence of data bits corresponding tothe navigation message broadcast by each satellite transmitter, and, incase the network 120 is not synchronous with the GPS transmitters, animprecise information about the GPSTime associated therewith. Thus, theprecise GPSTime corresponding to the beginning of the snapshot taken bythe receiver is unknown. To resolve this ambiguity, different possiblealignments of the snapshot with the sequence of data bits transmittedduring the time interval in which the snapshot is taken needs to beassessed.

FIG. 7A schematically shows an exemplary sequence of data bits of thenavigation message modulating the considered snapshot of the receivedsignal. FIGS. 7B, 7C and 7D depict three tentative alignments to thesnapshot of the same sequence of data bits, which the receiver receivesas part of the assistance data from the server; it can be seen that thealignments of FIGS. 7B and 7C are not correct, whereas the alignment ofFIG. 7D is correct.

For every tentative alignment, the generic correlation summationpreviously calculated for a corresponding block in the consideredpartition is multiplied by +1 or −1, depending on the value of the databit in the time interval where that block falls, and the M+1 correlationsummations, with proper sign, are added up, separating the I and the Qsignal components; I and Q global correlation values are thuscalculated. The overall correlation value P^(r,k) is then calculated byadding up the square of the I and Q overall correlation values; theoverall correlation value P^(r,k) may be expressed as:

k ∈ [0, N_(ms)] $P_{k}^{r,d} = {\begin{matrix}{{\sum\limits_{t = 0}^{20 - {({k\;{mod}\; 20})} - 1}{{Int}_{t - 1}^{r,d} \cdot B_{{floor}{({k/20})}}}} +} \\{\sum\limits_{t = {({20 - {k\;{mod}\; 20}})}}^{M}{{Int}_{t}^{r,d} \cdot B_{1 + {{floor}{({{({t - {({20 - {k\;{mod}\; 20}})}})}/20})}} + {{floor}{({k/20})}}}}}\end{matrix}}^{2}$where B₀ . . . B_(n) _(ms) denotes the sequence of data bits making upthe navigation message transmitted in the time interval in which thesnapshot is taken; the data bit sequence forming the navigation messageis, as mentioned in the foregoing, provided to the receiver as part ofthe assistance data, along with the GPSTime; exploiting thisinformation, and based on the duration of the snapshot, the receiverselects the sequence B₀ . . . B_(n) _(ms) ; N_(ms) is the number ofmilliseconds necessary for transmitting the sequence B₀ . . . B_(n)_(ms) ; it is N_(ms)=20·n, because each bit is transmitted modulatingwith the same value 20 consecutive C/A code elementary sequencerepetitions; k denotes the delay, in ms, of the tentative sequence B₀ .. . B_(n) _(ms) compared to the data bit sequence received as part ofthe assistance data; d identifies the selected Doppler bin; r identifiesthe selected delay (code-phase).

From the above formula, it can be appreciated that the navigationmessage sequence of bits is reconstructed at steps of 1 ms, i.e. tryingseveral possible delay values, at steps of 1 ms.

The correct alignment of the data bit sequence can be detected becauseit maximizes the sum of the M+1 correlation integrals. In other words,by identifying the value of delay k that maximizes the value of P^(r,k)the correct data bit sequence alignment can be deduced.

This process is repeated for different possible values of the initialdelay (i.e., for different code-phases) and for different possibleDoppler bin.

The correct code-phase and the correct Doppler bin are then determinedby identifying the maximum value (peak), in the time-frequency space(the so-called “search space”) defined by all the possible values ofDoppler shifts and phase delay and alignment of the data bit sequence.Indeed, only for the correct code-phase and Doppler bin no phase changesare experienced within the blocks of the considered partition of thesnapshot.

Based on the value of the peak, the signal is considered acquired.

Once the alignment of the navigation message data bit sequence thatmaximizes the correlation peak, the information about the GPSTime of thesatellite transmitter can be derived. The GPSTime thus derived,corrected taking into account the signal propagation delay from thesatellite transmitter to the receiver, can provide an estimation of thetime (in the GPS time base) the signal has been received by thereceiver.

In an embodiment of the present invention, the signal acquisitions afterthe first (for different satellite transmitters) may be performed bytrying only the navigation message data bit sequence synchronous withthat identified in the first signal acquisition, properly delayed of anumber of repetitions (in ms) derived from the assistance dataexploiting the reference position. Since however the identification ofthe navigation message data bit sequence that maximizes the correlationpeak might be affected by errors, in alternative embodiments of theinvention it might be useful to independently estimate, for everysatellite transmitter, the correct alignment of the navigation messagedata bit sequence.

In this way, according to an embodiment of the present invention, theuncertainty regarding the correct sequence of data bits is resolved onlyat the level of the sum of the M+1 correlation summations calculated forthe M+1 blocks of the generic block partition of the snapshot and thelocally-generated signal. No additional correlation integrals need to becalculated, with a substantial benefit in terms of computational burden.It is thus possible to successfully perform the acquisition of veryfeeble signals, as it is often the case in indoor environments, bysuitable extending the duration of the acquired snapshot to someseconds, so as to maximize the processing gain, compatibly with thecomputational and supply power resources available at the receiver.

The method according to an embodiment of the present invention isschematized in the flowchart of FIG. 8.

After taking a snapshot of pre-selected length of the received signal(block 805), a first C/A code is selected for the modulation (spreading)of the locally-generated radio-frequency carrier (block 810).

Then, an hypothesized Doppler bin is selected (block 815) for thecompensation of the Doppler effects experienced by the received signal.

An hypothesized codephase is then selected (block 820).

The snapshot and the locally-generated signal are then partitioned intoblocks, as described in the foregoing, according to the selectedcodephase (block 825); the length of the first block depends on theselected codephase, whereas the successive blocks have a fixed length,equal to the length of the elementary C/A code sequence.

Partial (I and Q) correlation integrals are then calculated for thedifferent blocks (block 830).

The sign of the calculated partial correlation integrals is thenadjusted taking into account the navigation message and a selected,hypothesized time alignment thereof with the snapshot (block 835).

The partial correlation integrals, with proper sign, are then added up(block 840), to obtain I and Q correlation integrals, which are thensquared in absolute value to obtain overall I and Q correlationintegrals; the I and Q overall correlation integrals are then added toeach other.

Then, blocks 835 and 840 are repeated for different alignments of thenavigation message (block 845), for example changing it by steps of 1ms.

When all the possible navigation message alignments have been tried, thecodephase is changed (block 850), and blocks 825 to 845 are repeated;changing the codephase means varying the length of the first blocks inthe block partitions of the snapshot and locally-generated signal.

When all the possible codephases have been tried, the Doppler bin ischanged (block 855), and blocks 820 to 850 are repeated.

Finally, when all the possible Doppler bins have been tried, a differentC/A code is tried (block 860).

After having calculated the correlation integrals for all the possiblenavigation message alignments, codephases, Doppler bins and C/A codes,the correlation peak is determined (865).

It is pointed out that albeit in the above description the operationsare performed sequentially, nothing prevents from performing two or moreoperations in parallel (for example, the calculation relating to two ormore different C/A codes may be performed in parallel). Also thecalculations of the partial correlation integrals may be performedserially or in parallel.

It is pointed out that, in alternative embodiments of the presentinvention, like for example in scenarios where the receiver is notprovided with assistance data, the sequence of data bits making up thenavigation signal may be unknown to the receiver. In this case, all thepossible combinations of data bits are considered. The processingcomplexity, as far as the calculation of the partial correlationsInt_(n) ^(r,d) is considered, is similar to the case in which the databit sequence is known; a difference resides in the number ofcoefficients P_(k) ^(r,d) to be calculated for each delay r and Dopplerbin d: in particular, the number of the coefficients P_(k) ^(r,d)increases exponentially with the increase of the length of theintegration interval, and is equal to

${N = {20*2^{\frac{T\_ int}{0,02}}}},$wherein the factor 20 is due to the fact that, for each combination, allthe possible delays of the first bit transition are considered, varyingthe delay value from 1 to 20 at steps of 1 ms. Thus, the increasedcomputation complexity due to the fact that the data bit sequence isunknown can be still acceptable for integration intervals of the orderof some hundreds of ms (some thousands of possible combinations of databit values).

Preferably, the drift in the radio carrier frequency (even if alreadycorrected by the Doppler bin) caused by Doppler effects caused byacceleration/deceleration of the receiver, which may be non-negligiblewhen dealing with snapshots of the order of some seconds, should beconsidered and compensated. This effect is described by the Doppler rater_(d), a parameter which is also provided to the receiver as a part ofthe assistance data.

Should the receiver be subject to acceleration/deceleration during theacquisition process, the carrier frequency of the received signal mayvary. In order to limit the effects of possibleacceleration/deceleration of the receiver during the acquisition phase,the coherent integration may be carried out over two or more fractions(sub-intervals) of the overall acquisition time (interval). For example,a snapshot of 2 seconds may be subdivided into four sub-intervals of 0.5s each. Each sub-interval is partitioned into a respective set ofconsecutive blocks. The correlation value P_(k) ^(r,d) may be calculatedby performing the above described calculations on each of the foursub-intervals, calculating partial correlation values P_(k) ^(r,d,(n)),with n being an index identifying the generic sub-interval. Thecorrelation value P_(k) ^(r,d) is thus given by:

$P_{k}^{r,d} = {\sum\limits_{n}P_{k}^{r,d,{(n)}}}$where:

${P_{k}^{r,d,{(n)}} = {{\sum\limits_{t = {L_{n - 1} + {({20 - {k\;{mod}\; 20}})}}}^{Ln}{{Int}_{t}^{r,d} \cdot B_{1 + {{floor}{({{({t - {({20 - {k\;{mod}\; 20}})}})}/20})}} + {{floor}{({k/20})}}}}}}^{2}};$L_(n) denotes the upper limit of the generic sub-interval n, in terms ofnumber of blocks.

Alternatively, the receiver may be equipped with an inertial system,adapted to estimate variations (due for example toacceleration/deceleration of the receiver) in the carrier signalfrequency during the signal acquisition and integration time. Theinertial system may include a three-axis accelerometer, a three-axisgyroscope and a three-axis magnetometer, so as to be capable ofperforming acceleration/deceleration measures; exploiting a referenceposition received as part of the assistance data, theacceleration/deceleration measures can be expressed in the ECEF(Earth-Centered, Earth-Fixed) coordinate system. It is thus possible toestimate the Doppler variation of the carrier frequency during thecoherent integration time caused by acceleration/decelerationexperienced by the receiver, for the signals transmitted by thedifferent satellites overhead the receiver.

In an embodiment of the present invention, the frequency-phase delaysearch space may be restricted by detecting the set of values related tothe phase of the C/A code (codephase values) at the beginning of theacquired snapshot. In case information regarding the offset of the clockand assistance data are available at the receiver, the set of valuesrelated to the phase of the C/A code may be restricted to an uncertaintyinterval (instead of having to attempt all the possible codephasevalues), the width of which depends on the precision with which thereference position may be known. The reference position can becalculated using localization techniques adopted to localize mobileterminals, for example based on the cellular structure of the mobiletelephony network. In urban areas, the uncertainty on the referenceposition may be below 500 m, and this corresponds to an uncertainty of+/−2 chips around the estimated value (which depends on the codephasevalue received with the assistance data and on the offset); outsideurban areas, the uncertainty on the reference position may be reasonablyassumed to be lower than 3 Km, which corresponds to +/−3 chips. However,this information is per se not sufficient, because of the uncertaintyabout the time of start of the snapshot, being the receiver local clocknot synchronous with the satellite transmitter clock.

In a possible practical implementation, the computation complexity maybe kept low by acquiring, exploiting block-processing techniques, thesignal of a satellite transmitter that experiences the highersignal-to-noise ratio (not necessarily a signal having a signal-to-noiseratio sufficiently high to enable demodulating the navigation message).Codephase and Doppler shift measures are performed on this signal. Basedon the measures performed on this signal, and on the codephase andDoppler shift received as a part of the assistance data, it is possibleto estimate the clock parameters of the receiver, offset and drift.

Once the codephase and the Doppler shift measures are available, theblock partition and partial correlation calculation block-processingalgorithm is exploited for estimating the alignment of the navigationmessage data bit sequence, and thus for estimating the GPSTime oftransmission of the signal. This operation may be performed directly onthe feeble signals without repeating the calculations of the partialcorrelation integrals.

By exploiting the assistance data it is possible to reduce the number ofDoppler bins to be tried: the set of Doppler bins to be tried can berestricted the more precise is the model of clock available, in terms offrequency offset estimation.

It is observed that the calculation of the partial correlation integralsshould not be simultaneously performed on a strong signal and on afeeble signal, because cross-correlation (code interference) phenomenaprevent from applying the block-processing technique on the feeblesignal.

In order to detect the peak in the correlation value, the steps withwhich the codephase value should be varied for trying different possibledelay values may be equal or higher than ½ chip; when operating at thelowest sampling frequency, equal to 4 MHz, it is necessary to calculatethe correlation with a point every 2 samples of the local signal. Bychoosing a finer step, like ¼ chip, the sensitivity may be increased(0.5 dB in the best case, 0.25 dB on average), but at the cost of anincreased computation complexity. In a possible practicalimplementation, a coarser sampling step may be chosen at the beginningof the acquisition process; then, once a correlation peak is detected, afiner sampling step may be chosen (e.g., 4 MHz, 8 MHz, 20 MHz or higher)to improve the time resolution, but limiting the calculations to theneighborhood of the previously detected peak. In this way, an open-looptracking of the received signal may be implemented. One possibility maybe to increase the sampling frequency and select the maximum, with a 10MHz delfront-end filter for a 20 MHz sampling frequency.

The sensitivity of the acquisition algorithm according to the describedembodiment of the invention depends on the length of integrationinterval on which the correlation between the snapshot and thelocally-generated signal is calculated. The length of the integrationinterval can be varied dynamically (based on the length of thesnapshot); for example, the length of the integration interval can beincreased, starting from an initial value, until a peak exceeding apredetermined value in the correlation is reached, or until the durationof the snapshot is reached. A doubling of the integration internallength gives a 3 dB increase of sensitivity. The increase in the lengthof the integration interval translates into an increase in the number Mof partial correlations to be calculated; the partial correlationspreviously calculated for a shorter integration interval: it issufficient to freshly calculate the missing partial correlations. Alsothe calculations necessary for taking into account the modulating databit stream and calculating the values P_(k) ^(r) need not be repeated:it is sufficient to subtract the last partial correlation Int_(M)^(r,d)·B_(N) from the result obtained for the previous choice ofintegration interval length, and add the freshly calculated Int_(n)^(r)·B_(j).

Also, the step at which the delay is varied may be changed dynamically,and be for example from ½ chips and ¼ chips.

The method according the present invention can be exploited also in aclosed-loop tracking stage, in order to save computation power comparedto an open-loop tracking. As known in the art, the tracking stagefollows the acquisition stage (during which coarse phase and Dopplershift estimations are made) and is directed to lock the carrier in phase(Phase Locked Loop) and in frequency (Frequency Locked Loop), and moreaccurate measures on the phase delay are performed. The above-describedalgorithm, for correlating over relatively long time intervals a sampledGNS signal with a locally-generated signal, can be exploited both forthe phase locking of the carrier, and for locking the delay of the code.In particular, the phase locking of the carrier relies upon measures ofthe phase of the carrier; the above-described algorithm is adapted toderive measures of the carrier phase, because the correlations arecalculated for the I and Q components, and from these data the carrierphase can be derived. For locking the code delay, correlations of thesampled GNS signals with “early” and “late” local signals arecalculated; the early and late signals are signals obtained by leading,respectively lagging, the locally-generated signal (the “prompt”signal); also these correlations can be obtained applying theabove-described algorithm. Once the correlations for the “prompt”,“early” and “late” signals are calculated, and the correlations for theI and Q components of the “prompt” signal are available, one of theclosed-loop tracking modules known in the art can be implemented.

At each step with which the feedback on the carrier is performed, thecorrelations are to be calculated over the whole time interval, so as totake into account the new phase and frequency values obtained from thefeedback. The previously calculated partial correlations Int_(n) ^(r,d)can be reused, applying the phase rotation due to the feedback. At eachstep, only the blocks 1, M−1 and M need to be re-calculated.

In order to apply the above-described algorithm to the tracking phase,the navigation message should be known in advance; this is not aproblem, because almost all of the navigation message data repeatperiodically for an interval of 2 hours. Only the bits related to theGPSTime change, but their value is simply increased at each repetition,and thus they are easily predictable.

In the tracking phase, after having calculated the partial correlationsInt_(n) ^(r,d) (with n equal to 0, M−1 and M), the value of thenavigation message data bit that, in the summation, multiplies thepartial correlation Int_(n) ^(r,d) should be estimated. This can forexample be done in one of the following two ways. In a first way, thesynchronization is determined aligning the sequence that maximizes thecorrelation calculated at the previous step with the data bit streamreceived as a part of the assistance data; using this synchronization,the value of the navigation message data bit to be applied to the lastpartial correlation Int_(M) ^(r,d) is predicted. Alternatively, thecalculation is carried out for one bit value compatible with thenavigation message data bit stream, choosing the delay k where a maximumpeak is detected, without implementing synchronization algorithms.

The Applicant has performed a series of comparative tests which haveproved that the method according to the described embodiments of thepresent invention is suitable to acquire GPS signals in indoorenvironments.

FIG. 9 shows an exemplary configuration of GPS satellites assumed to bein view at a considered location; the numbers within the circles denotesthe satellites.

To verify the capability of acquiring signals in indoor environments, aweak Pseudo Random Noise (PRN) signal has been chosen, for examplecorresponding to satellite number 14 in the figure, and theabove-described signal acquisition method has been applied.

In order to verify the weakness of the signal transmitted by thesatellite number 14, a Fast Fourier Transform (FFT)-based circularcorrelation together with non-coherent averaging of 400 coherent blocks(10 ms coherent integration time) has been used with the indoor signal,both in unassisted (i.e., missing the assistance data) and assistedmodes.

In unassisted mode, the receiver has no a priori knowledge of theobserved Doppler frequency shift, so that the receiver has to scan thewhole nominal Doppler frequency range, from −5 kHz to +5 kHz.

In assisted mode (A-GPS), the Doppler frequency is fixed at the valueestimated by a reference receiver. The following assumption have beenmade:

1. the receiver has been driven by an ultra-stable and ultra-accuraterubidium oscillator;

2. the reference receiver antenna is placed at an outdoor location notfar from the test indoor location.

This means that the Doppler frequency predicted by the referencereceiver can be used as a reliable indication of the true Dopplerfrequency observed by the test receiver (e.g., −2.935 kHz for the signalof the satellite number 14).

FIGS. 10A and 10B show, respectively for the unassisted and assistedcase, the resulting Cross-Ambiguity Function (CAF) envelope (the CAF isthe squared absolute value of the correlation integral) both in thefrequency and the code-phase spaces. In particular, the frequency andcodephase bins of the search-space maximum are depicted. In both thecases, the acquisition fails in estimating the true Doppler frequencyvalue.

As a consequence, the codephase estimate is not reliable, since theseparation between the main and secondary peaks is too small (less than1 dB). In other words, the main peak and the noise-floor peaks are“statistically” indistinguishable. This is confirmed by the differentDoppler and codephase estimates obtained in the two cases.

The same fast-correlation algorithm has been applied to the satellitenumber 6 in FIG. 9, assumed to be the strongest in the consideredlocation, in assisted mode, with a predicted Doppler of 1.0675 kHz and120 non-coherent averages. The obtained CAF is depicted in FIGS. 11A and11B, respectively for the assisted and unassisted case. It can benoticed in the first case (FIG. 11A) that the true Doppler value can beexactly detected in assisted mode and in the second case (FIG. 11B) theestimated Doppler is however within the 100 Hz bin width used by theacquisition algorithm. In both the two cases, a “clean” autocorrelationpeak has emerged from the noise floor. This indicates that the signal isa good candidate as “strongest satellite in view”.

The overall signal acquisition process includes these steps:

1. FFT-based fast correlation and non-coherent averaging on thestrongest satellite transmitter in view (e.g., satellite number 6) inunassisted mode;

2. Doppler frequency and codephase refining by means of a long coherentintegration of 1.2 s, by means of the acquisition method according topthe described invention embodiment;

3. From the refined estimates for the strongest PRN, computation of thepredicted Doppler shift and codephase for the weak PRN to be acquired(in the considered example, satellite number 14);

4. Performing the high-sensitivity acquisition, by using the previouslypredicted

Doppler shift and codephase as aiding information, with a suitably longcoherent integration time (e.g. 2 s).

FIG. 12 depicts the search space resulting from application of step 1above.

In step 2, the long coherent integration is performed, with thefollowing assistance information:f_(D,predicted)=1.1 kHzCP ₆ ^((predicted))=977.8 μs≈1000.3 chips

The resulting CAF envelope is depicted in FIG. 13. The Doppler frequencyestimate is now equal to the true value given by the assistance server.The codephase estimate is practically the same obtained at step 1.

At step 3, the assistance data for the acquisition of the weak signal ofsatellite number 14 are computed by resolving for the time and frequencyoffsets between the reference receiver and the test receiver. As statedbefore, such offsets affect all the codephase and Doppler shift valuesfrom the reference receiver, which in turns cannot be applied directly.

The following steps illustrate such a calculation:

a. Considering the code phase indication from the reference receiver forboth satellite number 6 and satellite number 14:CP ₆ ^((ref))=120 chipsCP ₁₄ ^((ref))=108 chips

b. after the acquisition on satellite number 6 the estimated codephaseis:CP ₆ ^((acq))=1000.3 chips

c. the time offset between the reference receiver and the front-end (thesubsystem that performs the sampling) can be then evaluated as:ΔCP=CP ₆ ^((acq)) −CP ₆ ^((ref))=880.3 chips

d. since the recorded signal is the same there are no time drifts totake into account and the time offset affects all the codephases. Thus:ΔCP=CP ₁₄ ^((predict)) −CP ₁₄ ^((ref))

The predicted code phase for satellite number 14 to be used in thehigh-sensitivity acquisition is therefore:CP ₁₄ ^((predict)) =ΔCP ₁₄ ^((ref))=880.3+108=988.3 chips

e. the same approach should be followed to compute the predicted Dopplershift for satellite number 14:Δf _(D) =f _(D,6) ^((acq)) −f _(D,6) ^((ref))=(1.0683−1.0675) kHz=0.8 Hz

Then, in can be directly assumed that:f _(D,14) ^((predict)) =Δf _(D) +f _(D,14) ^((ref))=−2.9358 kHz

At step 4, the long coherent correlation algorithm is finally applied tosatellite number 14, using the previously predicted Doppler shift andcodephase. The resulting CAF envelope is depicted in FIGS. 14A and 14B,respectively for 1.2 s and 2.0 s of (coherent) integration time. Theestimated values are summarized in the table below.

Coherent Frequency Doppler shift Code phase Integration Time binsPredicted Estimated Predicted Estimated 1.2 s 121 −2.9358 kHz −2.9358kHz 988.3 chips 987.3 chips (965.1 μs) 2.0 s 201 −2.9353 kHz 987.3 chips(965.1 μs)

The estimated Doppler shift differs at most in 0.5 Hz from the predictedvalue. This means that the Doppler estimation accuracy has achieved itsoptimal level since step 3. Therefore, the scanned frequency range couldhave been few Hz wide, rather than the 100 Hz used in the present test,with an improved computational complexity.

§ § § § §

The method according to the herein described embodiments of the presentinvention is particularly useful in situations where the terrestrialradio communication network through which the receives gets theassistance data is not synchronous with the GPS satellite transmitters.

It is observed that when the receiver has acquired a signal, thereceiver clock can be synchronized with the GPSTime; however, since thenormal clock drift of commercial receivers is such that synchronizationwith the GPSTime is not maintained for very long times, in order to keepthe receiver clock synchronized with the GPSTime it might be necessaryto periodically perform receiver localizations, even if not strictlyrequested by the user; this is however disadvantageous, especially whenthe receiver is indoor, because of the battery power consumption and theincrease in data traffic over the terrestrial radio communicationnetwork for requesting and receiving the assistance data. The proposedmethod allows avoiding the need of performing such periodiclocalizations.

The method according to an embodiment of the present invention may alsobe exploited in scenarios where the offset and drift information aboutthe clock of the receiver are not available; based on the code-phase andDoppler shift available for a first satellite transmitter, thecode-phase and Doppler shift of the clock are calculated, exploiting theinformation about the reference position and trajectory of thesatellites.

The method according to the present invention is applicable in generalto any GNSS receiver, in particular to a GPS or modernized GPS(evolution of the GPS) receivers, Galileo and Glonass. For example, inthe Galileo system, the method of the invention can be exploited for theacquisition and tracking of either the signal carrying the navigationmessage (L1B channel) or the pilot channel carrying the secondary code(L1C channel) or for both the channels, jointly, with a sensitivityincrease of 3 dB compared to a single channel. To exploit the powertransmitted on the L1B and L1C channels, for each phase value, the codeof the snapshot is subdivided in blocks of about 1 ms, as describedabove, and the I and Q correlation values for the generic block arecalculated for the L1B and L1C channels, using the two different codes.The partial correlations calculated for the individual blocks are thenadded up, keeping distinct the I and Q components, considering the phasetransitions of the navigation message and of the secondary code. Thecorrelation is thus calculated including in a same summation the partialcorrelations on both the L1B channel, and on the L1C channel.

1. A method of acquisition of a received signal received from a globalnavigation satellite system, comprising: obtaining a snapshot of thereceived signal; and correlating the snapshot with a locally-generatedsignal, wherein said correlating comprises: trying at least one phasedelay value indicative of a hypothesized phase delay of thelocally-generated signal with respect to the snapshot; obtaining apartition of the snapshot and the locally-generated signal intocorresponding pluralities of blocks; and calculating partial correlationintegrals for each block of said plurality of blocks, said correspondingpluralities of blocks each comprising a first block having a timeduration related to a phase delay value.
 2. The method of claim 1,wherein the corresponding pluralities of blocks each comprise aplurality of second blocks having a predetermined time duration and afinal block having a time duration determined by a difference betweenthe time duration of one of the second blocks and the time duration ofthe first block.
 3. The method of claim 1, wherein said correlatingcomprises obtaining cumulated correlation integrals by summing uppartial correlation integrals calculated for each block of saidcorresponding plurality of blocks.
 4. The method of claim 3, whereinsaid summing up comprises adjusting a sign of the partial correlationintegrals based on at least one hypothesized time sequence of binarydata of a navigation message modulating in phase the received signal,and said correlating is performed individually for in-phase andin-quadrature components of the snapshot and the locally-generatedsignals.
 5. The method of claim 4, wherein said correlating comprisesobtaining an indication of a correlation integral between thelocally-generated signal and the snapshot by adding up square absolutevalues of the cumulated correlation integrals for the in-phase andin-quadrature components.
 6. The method of claim 5, comprising repeatingsaid summing up for at least two hypothesized time sequences of binarydata of the navigation message.
 7. The method of claim 6, comprising:repeating said obtaining a partitioning of the snapshot and thelocally-generated signal into corresponding pluralities of blocks andcalculating partial correlation integrals for each block of saidplurality of blocks for at least two phase delay values indicative oftwo hypothesized phase delays of the locally-generated signal withrespect to the snapshot.
 8. The method of claim 7, wherein saidcorrelating the snapshot with a locally-generated signal comprisescorrelating the snapshot with at least two locally-generated signals,each locally generated signal having a tentative frequency related to anominal frequency of the received signal corrected by a respectivefrequency correction factor, the time duration of the blocks of saidpluralities being related to said tentative frequency.
 9. The method ofclaim 8, wherein said frequency correction factor is related to aDoppler shift value hypothesizing a Doppler shift experienced by thenominal frequency due to a relative motion between a transmitter of thereceived signal and a receiver of the received signal.
 10. The method ofclaim 9, further comprising identifying a maximum between indications ofcorrelation integrals calculated for at least two hypothesized timesequences of binary data, the at least two hypothesized phase delayvalues and the at least two tentative frequencies.
 11. The method ofclaim 10, further comprising deriving, from the hypothesized timesequences of binary data of the navigation message that provides saidmaximum, information about GPSTime of a satellite transmitter.
 12. Themethod of claim 11, further comprising estimating a time of reception ofthe signal based on estimated GPSTime of the transmitter, correctedtaking into account a signal propagation delay from the satellitetransmitter to the receiver.
 13. A global navigation satellite systemreceiver comprising functional modules capable of being configured for:obtaining a snapshot of a received signal; and correlating the snapshotwith a locally-generated signal, wherein said correlating comprises:trying at least one phase delay value indicative of an hypothesizedphase delay of the locally-generated signal with respect to thesnapshot; obtaining a partition of the snapshot and thelocally-generated signal into corresponding pluralities of blocks eachcomprising a first block having a time duration related to a phase delayvalue; and calculating partial correlation integrals for each block ofsaid plurality of blocks.
 14. The global navigation satellite systemreceiver of claim 13, wherein the corresponding pluralities of blockseach comprises a plurality of second blocks having a predetermined timeduration, and a final block having a time duration determined by adifference between the time duration of one of the second blocks and thetime duration of the first block.
 15. The global navigation satellitesystem receiver of claim 13, wherein said functional modules capable ofbeing configured for correlating, comprise functional modules capable ofbeing configured for obtaining cumulated correlation integrals bysumming up the partial correlation integrals calculated for each blockof said corresponding plurality of blocks.
 16. The global navigationsatellite system receiver of claim 15, wherein said functional modulescapable of being configured for summing up, comprise functional modulescapable of being configured for adjusting a sign of the partialcorrelation integrals based on at least one hypothesized time sequenceof binary data of a navigation message modulating in phase the receivedsignal.
 17. The global navigation satellite system receiver of claim 16,wherein said functional modules capable of being configured forcorrelating are capable of being configured for performing saidcorrelating individually for in-phase and in-quadrature components ofthe snapshot and the locally-generated signals, said functional modulescapable of being configured for correlating, comprising functionalmodules capable of being configured for obtaining an indication of acorrelation integral between the locally-generated signal and thesnapshot by adding up square absolute values of the cumulatedcorrelation integrals for the in-phase and in-quadrature components. 18.The global navigation satellite system receiver of claim 17, whereinsaid functional modules are capable of being configured for repeatingsaid summing up for at least two hypothesized time sequences of binarydata of the navigation message.
 19. The global navigation satellitesystem receiver of claim 18, wherein said functional modules are capableof being configured for repeating said obtaining a partitioning of thesnapshot and the locally-generated signal into corresponding pluralitiesof blocks and calculating partial correlation integrals for each blockof said plurality of blocks for at least two phase delay valuesindicative of two hypothesized phase delays of the locally-generatedsignal with respect to the snapshot.
 20. The global navigation satellitesystem receiver of claim 19, wherein said functional modules capable ofbeing configured for correlating the snapshot with a locally-generatedsignal comprises functional modules capable of being configured forcorrelating the snapshot with at least two locally-generated signals,each locally generated signal having a tentative frequency related to anominal frequency of the received signal corrected by a respectivefrequency correction factor, the time duration of the blocks of saidpluralities being related to said tentative frequency.
 21. The globalnavigation satellite system receiver of claim 20, wherein said frequencycorrection factor is related to a Doppler shift value hypothesizing aDoppler shift experienced by the nominal frequency due to a relativemotion between a transmitter of the received signal and a receiver ofthe received signal.
 22. The global navigation satellite system receiverof claim 20, further comprising functional modules capable of beingconfigured for identifying a maximum between indications of correlationintegrals calculated for at least two hypothesized time sequences ofbinary data, the at least two hypothesized phase delay values and the atleast two tentative frequencies.
 23. The global navigation satellitesystem receiver of claim 22, further comprising functional modulescapable of being configured for deriving, from the hypothesized timesequences of binary data of the navigation message that provides saidmaximum, information about GPSTime of a satellite transmitter.
 24. Theglobal navigation satellite system receiver of claim 23, furthercomprising functional modules capable of being configured for estimatinga time of reception of the signal based on the estimated GPSTime of thetransmitter, corrected taking into account a signal propagation delayfrom the satellite transmitter to the receiver.